查看原文
其他

增强BGP的安全性的三种方法:MD5认证、Keychain认证、BGP GTSM功能

瑞哥 👉👉 网络技术联盟站 2023-10-17

来源:网络技术联盟站 

BGP(Border Gateway Protocol)是互联网中最常用的路由协议之一,用于在不同的自治系统(AS)之间交换路由信息。然而,由于BGP使用TCP作为传输协议,攻击者可能利用其漏洞进行各种网络攻击。为了保护BGP协议免受攻击,华为网络设备提供了多种安全配置选项,本文将详细介绍如何配置MD5认证、Keychain认证和BGP GTSM功能来增强BGP的安全性。

1. 配置MD5认证

BGP使用TCP作为传输协议,只要TCP数据包的源地址、目的地址、源端口、目的端口和TCP序号是正确的,BGP就会认为这个数据包有效。然而,攻击者可以轻松获取数据包的大部分参数,因此需要使用认证机制来降低被攻击的可能性。其中一种简单的认证机制是MD5认证。

MD5算法是一种常用的哈希算法,可以将任意长度的数据转换为固定长度的哈希值。配置MD5认证只需执行以下操作步骤:

  1. 执行命令 system-view,进入系统视图。
  2. 执行命令 bgp {as-number-plain | as-number-dot},进入BGP视图。
  3. 执行命令 peer {ipv4-address | group-name | ipv6-address} password {cipher cipher-password | simple simple-password},配置MD5认证密码。

配置完成后,MD5认证密码将用于验证与BGP邻居之间传输的数据包。

2. 配置Keychain认证

与MD5认证类似,Keychain认证也是一种用于降低BGP协议被攻击的认证机制。与MD5认证不同的是,Keychain认证使用一组密码,并可以根据配置自动切换密码。这使得攻击者更难破解认证密码。

但是,配置Keychain认证的过程相对复杂,适用于对安全性能要求较高的网络。以下是配置Keychain认证的操作步骤:

  1. 执行命令 system-view,进入系统视图。
  2. 执行命令 bgp {as-number-plain | as-number-dot},进入BGP视图。
  3. 执行命令 peer {ipv4-address | group-name | ipv6-address} keychain keychain-name,配置Keychain认证。

配置完成后,Keychain将用于自动切换密码,并提供更高级别的安全性。

3. 配置BGP GTSM功能

为了防止攻击者模拟真实的BGP协议报文对设备进行攻击,可以配置BGP GTSM(Generic TTL Security Mechanism),"Generic TTL Security Mechanism" (GTSM) 是一种用于增强BGP安全性的功能,旨在检测IP报文头中的TTL(Time to Live)值,以防止攻击者模拟真实的BGP报文进行攻击。

以下是配置BGP GTSM功能的详细操作步骤:

  1. 执行命令 system-view,进入系统视图。
  2. 执行命令 bgp {as-number-plain | as-number-dot},进入BGP视图。
  3. GTSM和peer ebgp-max-hop功能都与BGP报文的TTL值相关,因此同一对等体或对等体组只能启用其中一种功能。
  4. 执行命令 peer {group-name | ipv4-address | ipv6-address} valid-ttl-hops [hops],配置BGP GTSM功能。你可以根据实际网络拓扑选择适当的TTL有效范围。不符合该范围的报文将被设备直接丢弃,从而防止网络攻击者模拟的“合法”BGP报文对设备进行攻击。

除了上述步骤外,你还可以选择执行一些可选操作以进一步增强BGP GTSM功能的安全性:

  • 在系统视图下执行命令 gtsm default-action {drop | pass},设置未匹配GTSM策略的报文的缺省动作。默认情况下,未匹配GTSM策略的报文可以通过过滤。通过设置为 drop,未匹配的报文将被直接丢弃。
  • 在系统视图下执行命令 gtsm log drop-packet all,打开设备的LOG信息开关,以便在设备丢弃GTSM报文时记录LOG信息。通过记录丢弃报文的日志信息,可以方便故障的定位和分析。

通过配置BGP GTSM功能,可以有效防止攻击者模拟的恶意BGP报文对网络设备进行攻击,提高网络的安全性。

配置

简易拓扑

在这个示例拓扑中,有两个BGP对等体(BGP Peers),它们之间建立了BGP会话(BGP Session)。我们将详细说明如何在这两个对等体之间配置MD5认证、Keychain认证和BGP GTSM功能。

配置MD5认证

以下是在两个BGP对等体之间配置MD5认证的操作步骤:

  1. 进入BGP Peer 1设备的配置模式:
system-view
bgp {as-number-plain | as-number-dot}
  1. 配置MD5认证密码:
peer {ipv4-address | group-name | ipv6-address} password cipher <md5-password>

其中,<md5-password>是经过加密的MD5密码。

  1. 重复以上步骤,在BGP Peer 2设备上配置相同的MD5密码。

配置完成后,BGP Peer 1和BGP Peer 2之间的BGP会话将使用MD5认证进行安全验证。

配置Keychain认证

以下是在两个BGP对等体之间配置Keychain认证的操作步骤:

  1. 进入BGP Peer 1设备的配置模式:
system-view
bgp {as-number-plain | as-number-dot}
  1. 配置Keychain认证:
peer {ipv4-address | group-name | ipv6-address} keychain <keychain-name>

其中,<keychain-name>是Keychain的名称。

  1. 重复以上步骤,在BGP Peer 2设备上配置相同的Keychain认证。

配置完成后,BGP Peer 1和BGP Peer 2之间的BGP会话将使用Keychain认证提供更高级别的安全性。

配置BGP GTSM功能

以下是配置BGP GTSM功能的操作步骤:

  1. 进入BGP Peer 1设备的配置模式:
system-view
bgp {as-number-plain | as-number-dot}
  1. 配置BGP GTSM功能:
peer {group-name | ipv4-address | ipv6-address} valid-ttl-hops <hops>

其中,<hops>是TTL的有效范围,用于指定可以通过的报文的TTL值。

  1. 重复以上步骤,在BGP Peer 2设备上配置相同的BGP GTSM功能。

配置完成后,BGP Peer 1和BGP Peer 2之间的BGP会话将使用BGP GTSM功能来检测和限制报文的TTL值,以增加安全性。

总结

以上就是关于华为网络设备配置BGP安全性的详细说明,包括MD5认证、Keychain认证和BGP GTSM功能的操作步骤。这些配置选项将有助于增强BGP协议的安全性,并保护网络免受潜在的攻击。


往期推荐

三种知名的第一跳冗余协议(FHRP):HSRP、VRRP和GLBP

OSPF不能发现其他区域路由时,该怎么办?

如何清除 Pip 缓存?从而优化 Python 环境并释放磁盘空间

什么是两次NAT(Twice NAT)技术?华为和思科设备如何配置?本文给您解惑!

网工进阶岔路口:策略路由和路由策略,两者到底有啥区别?



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存